package multiplex.model;

import java.util.List;

import multiplex.dataaccess.dao.SessaoDao;

public class Sala {
	// mapeadas
	private int id;
	private SalaTipo salaTipo;
	private boolean tecno3D;
	// referência ao pai
	private Localizacao localizacao;
	// fim de mapeadas
	// lazy
	private List<Sessao> sessoes = null;
	
	public Sala(SalaTipo SalaTipo, boolean Tecno3D, Localizacao Localizacao, List<Sessao> Sessoes){
		salaTipo=SalaTipo;
		tecno3D = Tecno3D;
		localizacao=Localizacao;
		sessoes = Sessoes;
	}
	public Sala() {
		// TODO Auto-generated constructor stub
	}
	
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public SalaTipo getSalaTipo() {
		return salaTipo;
	}
	public void setSalaTipo(SalaTipo salaTipo) {
		this.salaTipo = salaTipo;
	}
	public boolean isTecno3D() {
		return tecno3D;
	}
	public void setTecno3D(boolean tecno3D) {
		this.tecno3D = tecno3D;
	}
	public void setLocalizacao(Localizacao localizacao) {
		this.localizacao = localizacao;
	}
	public Localizacao getLocalizacao() {
		return localizacao;
	}
	
	/* 
	 * métodos auxiliares
	 */
	public List<Sessao> getSessoes() {
		if (sessoes==null) {
			SessaoDao sessaoDao = new SessaoDao();
			sessoes = sessaoDao.getAllFromSala(this);
		}
		return sessoes;
	}
	
}
